웹개발 및 최신 테크 소식을 전하는 블로그, 웹이즈프리

HOME > php

[PHP] 문자열 태그 주석 제거 함수, strip_tags()

Last Modified : 2016-05-28 / Created : 2014-09-29
8,901
View Count
웹사이트에서 데이터베이스의 글을 가져와 화면에 간략하게 보여주는 경우... 예를 들면 간략하게 앞부분만 보여주려는 경우 글의 중간중간에 있는 태그들 태그의 앞부분만 들어가고 뒷부분이 짤리는 경우가 있을 수 있습니다. 이런 경우 레이아웃이 심각하게 깨질 수도 있는데 이를 방지하기 위해서도 이 태그는 매우 효율적입니다.

가장 큰 장점은 아무래도 간단한 함수한번으로 "복잡한 정규표현식을 사용한 태그 삭제등을 피할 수 있다." 바로 이 점입니다... 정규표현식을 사용할 수도 있겠지만 시간 및 노력을 감안했을때 너무나 편리한 strip_tags() 함수입니다. 이 태그를 사용하는 간단한 방법은 바로 아래와 같습니다.

strip_tags(해당하는 문자열, '남기고자 하는 태그');

그럼 아래부터는 이 함수를 사용하여 실제로 태그를 제거하는 예제소스를 만들어 보겠습니다. 아래를 참고해주세요.


[ 1 ] strip_tags() 함수가 예제보기



# img 태그를 남기고 삭제하는 예제


$test = "<span>websifree.com</span> <img src='test.png' />";

strip_tags($test, '<img>');
// 이미지 태그만 남기고 삭제하는 경우

위 코드는 변수 $test에 저장 텍스트중 img 태그만 남기고 다른 태그를 삭제하였습니다. 그 결과 아래와 같이 나타나게됩니다.


<img src='test.png' />
// 출력 결과 span 태그는 삭제되고 img태그만 남아있음


# strip_tags() 사용하여 모든 태그 삭제하는 예제


$test = "<strong>websifree</strong><em>.com</em>";

strip_tags($test);
// 모든 태그를 삭제 하려는 경우

해당 함수의 인자로 어떠한 태그도 설정하지 않은 경우 모든 태그가 삭제됩니다. 위 코드의 결과 모든 태그가 삭제되어 나타납니다.


websifree.com
// 모든 태그가 삭제되었음



# strip_tags() em 태그만 남기고 삭제 예제보기


$test = "<strong>websifree</strong><em>.com</em>";

strip_tags($test, '<em>');
// em태그는 남겨두고 나머지 태그를 삭제하려는 경우

위 태그는 em 태그만 남겨두고 삭제하는 방법입니다. 그 결과 아래와 같이 됩니다.


websifree<em>.com</em>
// 출력 결과 strong 태그만 삭제되고 em태그는 남아있음

*참고로 HTML에 사용된 주석과 PHP에서 사용된 태그들은 모두 함께 제거됩니다. 이는 옵션값을 사용해도 남겨둘 수 없음을 알아두세요!


여기까지 태그를 삭제하는 php 함수 strip_tags()에 대하여 알아보았습니다. 태그를 제거해야하는 경우는 굉장히 많습니다. 예를들어 블로그의 내용을 간략하게 소개하기 위한 경우 태그가 포함되지 않고 텍스트만 출력할 필요가 있을 것입니다. 그 외에도 rsssitemap의 상세내용을 만들 경우도 있을 수 있으며 또는 검색결과의 내용에 태그를 제외하는 부분이 있을 수 있을 것입이다. 왜냐면 화면에 출력될때 원치 않는 태그의 영향을 제거하기 위함입니다.

Previous

APMSETUP 설치 후 phpmyadmin 접속이 안되는 경우

Previous

[PHP] mail() 함수, 이메일 발송 함수 알아보기